﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийРКО
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5c1f6534-ef53-4779-8c94-14bceb10fdcc\", \"Представление\":\"ОплатаПоставщику\"}")]
		ОплатаПоставщику = 0,//Оплата поставщику
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"75883f2d-fd64-4b6b-830a-f268311e2d67\", \"Представление\":\"ВозвратДенежныхСредствПокупателю\"}")]
		ВозвратДенежныхСредствПокупателю = 1,//Возврат денежных средств покупателю
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d764a4e3-37f2-473e-b934-9a5be0a3059c\", \"Представление\":\"ВыдачаДенежныхСредствПодотчетнику\"}")]
		ВыдачаДенежныхСредствПодотчетнику = 2,//Выдача денежных средств подотчетнику
		[EnumMember(Value = "{\"Ссылка\":\"c2d108ab-dcb6-4215-8ab5-5f0baf2e758e\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 3,//Прочие расчеты с контрагентами
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d8888032-9a40-4d4c-986c-6104596c3775\", \"Представление\":\"ВыплатаЗаработнойПлатыПоВедомостям\"}")]
		ВыплатаЗаработнойПлатыПоВедомостям = 4,//Выплата заработной платы по ведомостям
		[EnumMember(Value = "{\"Ссылка\":\"9194863a-63da-4ece-b49f-ae2426786e3f\", \"Представление\":\"РасчетыПоКредитамИЗаймамСРаботниками\"}")]
		РасчетыПоКредитамИЗаймамСРаботниками = 5,//Расчеты по кредитам и займам с работниками
		[EnumMember(Value = "{\"Ссылка\":\"e06322ab-17d4-42fe-9bb6-fb5eef714e98\", \"Представление\":\"ВыплатаЗаработнойПлатыРаботнику\"}")]
		ВыплатаЗаработнойПлатыРаботнику = 6,//Выплата заработной платы работнику
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"4d621bd1-3090-4ad1-bb33-52a7abf2b2c4\", \"Представление\":\"ВзносНаличнымиВБанк\"}")]
		ВзносНаличнымиВБанк = 7,//Взнос наличными в банк
		[EnumMember(Value = "{\"Ссылка\":\"c8fe5dec-3b83-49d3-9bd5-efa7eecaa749\", \"Представление\":\"РасчетыПоКредитамИЗаймамСКонтрагентами\"}")]
		РасчетыПоКредитамИЗаймамСКонтрагентами = 8,//Расчеты по кредитам и займам с контрагентами
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cfcda276-7d25-48bf-8551-757bd48d2395\", \"Представление\":\"ВыдачаДенежныхСредствКассеККМ\"}")]
		ВыдачаДенежныхСредствКассеККМ = 9,//Выдача денежных средств в кассу ККМ
		[EnumMember(Value = "{\"Ссылка\":\"93acb792-8918-4dc9-81cc-7905f98355d3\", \"Представление\":\"ВыплатаДепонентов\"}")]
		ВыплатаДепонентов = 10,//Выплата депонированной заработной платы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"9a4ca40d-a7fc-4483-a1e3-2065a5e3ec78\", \"Представление\":\"РасходДенежныхСредствПрочее\"}")]
		РасходДенежныхСредствПрочее = 11,//Прочий расход денежных средств
	}
	public static partial class ВидыОперацийРКО_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОплатаПоставщику = new Guid("bc14948c-10eb-ccfd-4779-ef535c1f6534");//Оплата поставщику
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПокупателю = new Guid("68f20a83-1e31-672d-4b6b-fd6475883f2d");//Возврат денежных средств покупателю
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВыдачаДенежныхСредствПодотчетнику = new Guid("5b9a34b9-a3e0-9c05-473e-37f2d764a4e3");//Выдача денежных средств подотчетнику
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("0b5fb58a-2eaf-8e75-4215-dcb6c2d108ab");//Прочие расчеты с контрагентами
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВыплатаЗаработнойПлатыПоВедомостям = new Guid("04616c98-6c59-7537-4d4c-9a40d8888032");//Выплата заработной платы по ведомостям
		public static readonly Guid РасчетыПоКредитамИЗаймамСРаботниками = new Guid("24ae9fb4-7826-3f6e-4ece-63da9194863a");//Расчеты по кредитам и займам с работниками
		public static readonly Guid ВыплатаЗаработнойПлатыРаботнику = new Guid("5efbb69b-71ef-984e-42fe-17d4e06322ab");//Выплата заработной платы работнику
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВзносНаличнымиВБанк = new Guid("a75233bb-f2ab-c4b2-4ad1-30904d621bd1");//Взнос наличными в банк
		public static readonly Guid РасчетыПоКредитамИЗаймамСКонтрагентами = new Guid("a7efd59b-caee-49a7-49d3-3b83c8fe5dec");//Расчеты по кредитам и займам с контрагентами
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВыдачаДенежныхСредствКассеККМ = new Guid("7b755185-8dd4-9523-48bf-7d25cfcda276");//Выдача денежных средств в кассу ККМ
		public static readonly Guid ВыплатаДепонентов = new Guid("0579cc81-83f9-d355-4dc9-891893acb792");//Выплата депонированной заработной платы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid РасходДенежныхСредствПрочее = new Guid("6520e3a1-e3a5-78ec-4483-a7fc9a4ca40d");//Прочий расход денежных средств
		public static ВидыОперацийРКО Получить(this ВидыОперацийРКО Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийРКО Получить(this ВидыОперацийРКО Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПоставщику)
			{
				return ВидыОперацийРКО.ОплатаПоставщику;
			}
			else if(Ссылка == ВозвратДенежныхСредствПокупателю)
			{
				return ВидыОперацийРКО.ВозвратДенежныхСредствПокупателю;
			}
			else if(Ссылка == ВыдачаДенежныхСредствПодотчетнику)
			{
				return ВидыОперацийРКО.ВыдачаДенежныхСредствПодотчетнику;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийРКО.ПрочиеРасчетыСКонтрагентами;
			}
			else if(Ссылка == ВыплатаЗаработнойПлатыПоВедомостям)
			{
				return ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСРаботниками)
			{
				return ВидыОперацийРКО.РасчетыПоКредитамИЗаймамСРаботниками;
			}
			else if(Ссылка == ВыплатаЗаработнойПлатыРаботнику)
			{
				return ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику;
			}
			else if(Ссылка == ВзносНаличнымиВБанк)
			{
				return ВидыОперацийРКО.ВзносНаличнымиВБанк;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСКонтрагентами)
			{
				return ВидыОперацийРКО.РасчетыПоКредитамИЗаймамСКонтрагентами;
			}
			else if(Ссылка == ВыдачаДенежныхСредствКассеККМ)
			{
				return ВидыОперацийРКО.ВыдачаДенежныхСредствКассеККМ;
			}
			else if(Ссылка == ВыплатаДепонентов)
			{
				return ВидыОперацийРКО.ВыплатаДепонентов;
			}
			else if(Ссылка == РасходДенежныхСредствПрочее)
			{
				return ВидыОперацийРКО.РасходДенежныхСредствПрочее;
			}
			return ВидыОперацийРКО.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийРКО Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийРКО Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийРКО.ОплатаПоставщику: return ОплатаПоставщику;
				case ВидыОперацийРКО.ВозвратДенежныхСредствПокупателю: return ВозвратДенежныхСредствПокупателю;
				case ВидыОперацийРКО.ВыдачаДенежныхСредствПодотчетнику: return ВыдачаДенежныхСредствПодотчетнику;
				case ВидыОперацийРКО.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
				case ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям: return ВыплатаЗаработнойПлатыПоВедомостям;
				case ВидыОперацийРКО.РасчетыПоКредитамИЗаймамСРаботниками: return РасчетыПоКредитамИЗаймамСРаботниками;
				case ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику: return ВыплатаЗаработнойПлатыРаботнику;
				case ВидыОперацийРКО.ВзносНаличнымиВБанк: return ВзносНаличнымиВБанк;
				case ВидыОперацийРКО.РасчетыПоКредитамИЗаймамСКонтрагентами: return РасчетыПоКредитамИЗаймамСКонтрагентами;
				case ВидыОперацийРКО.ВыдачаДенежныхСредствКассеККМ: return ВыдачаДенежныхСредствКассеККМ;
				case ВидыОперацийРКО.ВыплатаДепонентов: return ВыплатаДепонентов;
				case ВидыОперацийРКО.РасходДенежныхСредствПрочее: return РасходДенежныхСредствПрочее;
			}
			return Guid.Empty;
		}
	}
}